1. Field of the Invention
The present invention relates to a moving object recognition system for obtaining velocities, positions and configurations of an object moving in three-dimensional space by using a neural network.
2. Prior Art
The conventional system for recognizing a moving object, as reported in Computing Motion Using Analog and Binary Resistive Networks, by Hutchionson, et al, NIKKEI ELECTRONICS Aug. 8, 1988, pp. 171-185, is actualized by using an analog resistive network in which line processes (which take digital values) for detecting edges (for obtaining a configuration) of the object to be recognized are added to a method of computing an optical flow.
The optical flow is herein defined as a velocity vector at respective points of the object which are computed, when projecting the object moving in the three-dimensional space on a two-dimensional plane, from variations of brightness in terms of time and space at the respective points of a two-dimensional image thereof. This optical flow (u, v) is obtained by minimizing the general function .epsilon. shown in the formula (1). EQU .epsilon.=.epsilon..sub.1 +.epsilon..sub.2 ( 1)
In this formula (1), .epsilon..sub.1 is a condition which should be satisfied by the optical flow to be obtained and is expressed as in the formula (2). EQU .epsilon..sub.1 =.intg..intg.(E.sub.x .multidot.u+E.sub.y .multidot.v+E.sub.t) dxdy (2)
where E.sub.x, E.sub.y, E.sub.t are the partial derivatives (E.sub.x =.differential.E/.differential.x, E.sub.y =.differential.E/.differential.y, E.sub.t =.differential.E/.differential.t) of the luminance at the respective points of input image data with respect to x-and-y components and the time, and u, v are the x-and-y components of the optical flow.
Further, in the formula (1), .epsilon..sub.2 is the constraint condition under which the velocity vector varies continuously spatially, and smoothly and is expressed as in the formula (3). ##EQU1## where .alpha. is the constant which represents an intensity of the constraint condition, the Intensity being increased if the input image data contain a large amount of noise but decreased if the data contain only a small amount of noise.
A velocity field does not, however, become discontinuous, even at the edges of an object whose velocity varies due to the introduction this constraint condition, resulting in a smooth continuity. To obviate this phenomenon, the line processes l.sup.h, l.sup.v in horizontal and vertical directions are introduced into the formula (3).
These line processes comprise neurons for detecting the edges of the object to be recognized in the input image data, when the velocity becomes largely discontinuous between two adjacent points. More specifically, when detecting the edges of the object, an output of a line process is set to 1 (ON). If continuous, the output is set to 0 (OFF). A line process which takes a binary value (either 0 or 1) is referred to as a digital line process.
Concretely, as illustrated in FIG. 7, if the velocities at a point (i, j) and a point (i+1, j) adjacent thereto in the x-direction are discontinuous, the line process l.sup.v (the components i, j are shown as suffixes in the Figure) in the vertical direction to the point (i, j) is turned ON. Similarly, when the velocities at the point (i, j) and a point (i, j+1) adjacent thereto in the y-direction are discontinuous, the line process l.sup.h (the components i, j are shown as suffixes in the Figure) in the horizontal direction to the point (i, j) is turned ON.
In the above-described line process, digital values are employed. Consequently, when the velocity is discontinuous, the first or second term of an integrand of the general function .epsilon..sub.2 is eliminated, and the general function .epsilon. approximates the minimal value as closely as possible.
Next, the operation of the prior art system described above will be explained with reference to the flowchart of FIG. 8.
To start with, all the line processes of the neural network are turned OFF (step ST1). The input image data are inputted as input values (step ST2). Then, where the line processes are in an OFF-status, the computations of the velocity vectors are repeated until the first term .epsilon..sub.1 of the general function .epsilon. in the formula (1) is substantially converged (steps ST3, ST4). Namely, the output values of the foregoing neural network are converged. Thereafter, the status of each line process is determined depending on whether the second term .epsilon..sub.2 of the aforementioned general function .epsilon. in the formula (1) is reduced by turning ON or OFF each line process (step ST5). This process is repeated (step ST6), whereby the general function .epsilon. is made approximate to the minimal value (equilbrated). The velocity vectors and configurations of the object making motions in the three-dimensional space are thus recognized (step ST7).
One problem of the prior art system for recognizing a moving object, is that a local minimum may result during the computation. Also, in some cases no correct answer can be obtained due to the behavior of the line processes which take the digital values. Once the line process is turned ON, the velocity vector and the configuration are established. If those results are incorrect, no correct result can be drawn by repeating the computation from that moment onward. An additional problem is the difficulty in timing the turning ON of the line process.
It is an object of the present invention, which has been devised to obviate the problems given above, to obtain a moving object recognizing system capable of recognizing velocities, positions and configurations of an object moving in three-dimensional space and which is also resistant to noise.